// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Author: wsfuyibing <682805@qq.com>
// Date: 2025-04-08

package commands

import "gitee.com/go-libs/console"

// Option
// is a command option for console.Command register.
type Option struct {
	// Short
	// is a short option name.
	//
	//   -k
	//   -k value
	Short byte

	// Required
	// specify whether the option is required.
	Required bool

	// Kind
	// config option kind like Int, Bool, String and so on.
	Kind console.Kind

	// Description
	// specify option about message.
	Description string

	// DefaultValue
	// use this as option value if not specified by args.
	DefaultValue any
}
